package com.wsoft.hr.pm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wsoft.hr.pm.entity.HrPmActivityEntity;
import com.wsoft.hr.pm.query.activity.ActivityInsertQuery;
import com.wsoft.hr.pm.query.activity.ActivityListQuery;
import com.wsoft.hr.pm.query.activity.ActivityUpdateEnableQuery;
import com.wsoft.hr.pm.query.activity.ActivityUpdateQuery;

/**
 * <p>
 * 考核活动 服务类
 * </p>
 *
 * @author zhanggukai
 * @since 2025年02月27日 08:49:37
 */
public interface IHrPmActivityService extends IService<HrPmActivityEntity> {

    /**
     * 新增考核活动
     * @param query
     * @return boolean
     */
    boolean insert(ActivityInsertQuery query);

    /**
     * 更新考核活动
     * @param query
     * @return boolean
     */
    boolean update(ActivityUpdateQuery query);

    /**
     * 更新考核活动状态
     * @param query
     * @return boolean
     */
    boolean updateStatus(ActivityUpdateEnableQuery query);


    /**
     * 删除考核活动
     * @param id
     * @return boolean
     */
    boolean delete(Long id);

    /**
     * 考核活动详情
     * @param id
     * @return
     */
    HrPmActivityEntity get(Long id);

    /**
     * 考核活动详情
     * @param query
     * @return
     */
    PageInfo<HrPmActivityEntity> pageList(ActivityListQuery query);

}
